package com.cskaoyan.basic.variable;

/*
        变量:在程序运行期间，其值可以改变的量，在某个范围内可以改变的量

         理解（通过名字访问到）变量就是“一片”内存空间

       变量定义的格式
                     表示符
           数据类型  变量名 = 变量值

       所有，想要定义变量，首先得学习数据类型：

       数据类型：其实表示的就是一个数据集和基于该数据集的一组合法操作。

       分类:
         基本数据类型
            整数型：
              a. byte
              b. short
              c. int
              e. long

            小型型：
               a. float
               b. double

            布尔:  true or false

            字符： 在我们jvm中，所有数据包括字符，都是以数值存储
                   'a'   97

         引用数据类型(面向对象)

         使用变量的注意事项：
            1.作用域
                变量有效的时间范围，这个范围通常用{}来界定
            2.初始化值
                 变量在使用之前，由编译器强制必须赋初值
            3.建议一行定义一个变量
                 从代码的可读性角度来考虑



 */
public class Demo1 {
    public static void main(String[] args) {

        // 定义变量: 数据类型  变量名 = 变量值
        int intValue = 10;
        System.out.println(intValue);

        intValue = 100;
        System.out.println(intValue);


        // double 类型的变量定义
        double doubleValue = 3.14;
        // 用一个变量的值，给另外一个变量赋值
        double first = doubleValue;
        System.out.println(first);

        // 变量的作用域
        {
           boolean boolValue = true;
           System.out.println(boolValue);
        }

        // 在变量的作用域之外(不认识boolValue)
        //System.out.println(boolValue);


        // 变量的初始值：
        //   我们也可以只声明变量，但是不给变量赋值，但是我们必须保证，在访问这个变量之前必须赋值
        long longValue;
        longValue = 100;
        System.out.println(longValue);

        // 变量定义的形式:

        // 可以一次性的定义多个变量
        byte byteValue1, byteValue2 = 1, byteValue3 = 10;

        // 也可以一次定义一个变量(推荐大家一行只定义一个变量)
        byte byteValue;

    }
}
